home *** CD-ROM | disk | FTP | other *** search
/ PC World 2002 March / PCWorld_2002-03_cd.bin / Software / TemaCD / xteq / setup.exe / {app} / plugins / XQ AutoRun Srv CurUser.xpl < prev    next >
Text File  |  2001-04-13  |  4KB  |  154 lines

  1. "FILE"="Xteq Systems X-Setup Plugin 6.0"
  2. "TYPE"="8"
  3. "COUNT"="3"
  4. "UIPATH 1"="Startup/Shutdown\Startup\Windows 9x/ME\70) AutoRun - Part 2"
  5. "UIPATH 2"="Startup/Shutdown\Startup\Windows NT/2K/XP\50) AutoRun - Part 2"
  6. "NAME"="AutoRun Services (Current User)"
  7. "VERSION"="2.03"
  8. "LANGUAGE"="VBScript"
  9. "TEXT 1"="Show Info"
  10. "TEXT 2"="Enable/Disable"
  11. "TEXT 3"="Delete"
  12. "DESCRIPTION 1"="These services (system programs) are automatically started when you login."
  13. "DESCRIPTION 2"="Please note the difference: While all items in 'AutoRun Services' are executed when the computer is started, the items listed here will only be started if YOU login.
  14. "DESCRIPTION 3"="Click "Show Info" to see the command that is executed, "Enable/Disable" to enable or disable an item or "Delete" to remove an item."
  15. "AUTHOR"="Xteq Systems"
  16. "CONTACTURL"="http://www.xteq.com"
  17. "COPYRIGHT"="Copyright ⌐ Xteq Systems - All Rights Reserved"
  18. "COMMENT 1"=" "
  19.  
  20.  
  21. '/*** MAIN TEMPLATE IS XQ AutoRun Lister.XPL ***/
  22. '/*** ONLY CHANGE REGISTRY KEYS BELOW ***/
  23.  
  24.   sP="HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices\"
  25. sPD1="HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices-\"
  26. sPD2="HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices (Disabled)\"
  27.  
  28. '/////////////////////////////////
  29. '///*** NO CHANGES BELOW HERE ***/
  30. Dim aryLoc()
  31. Dim iReadAllCount
  32.  
  33. sDisabled=" [DISABLED]"
  34.  
  35. Sub Plugin_Initialize 
  36.   iReadAllCount=0
  37.   Call ReloadAll
  38. End Sub
  39.  
  40. Sub ReloadAll
  41.  for i=1 to iReadAllCount
  42.      Call SetUIElement(i,"")
  43.  next 
  44.  
  45.  i=0
  46.  
  47.  iC=RegEnumValues(sP)
  48.  i=i+iC
  49.  
  50.  iC=RegEnumValues(sPD1)
  51.  i=i+iC
  52.  
  53.  iC=RegEnumValues(sPD2)
  54.  i=i+iC
  55.  
  56.  
  57.  ReDim aryLoc(i)
  58.  iReadAllCount=1
  59.  
  60.  Call ReadAll(sP,1,false)
  61.  Call ReadAll(sPD1,2,true)
  62.  Call ReadAll(sPD2,3,true)
  63. End Sub
  64.  
  65. Sub ReadAll(key,idx,IsDisabledKey)
  66.  iC=RegEnumValues(key)
  67.  if iC>0 then
  68.     for l=1 to iC
  69.         sName=RegEnumElement(l)
  70.         
  71.         If IsDisabledKey=true then
  72.            sName=sName & sDisabled
  73.         end if
  74.  
  75.         Call SetUIElement(iReadAllCount,sName)
  76.         aryLoc(iReadAllCount)=idx
  77.  
  78.         iReadAllCount=iReadAllCount+1
  79.     Next
  80.  end if
  81.  
  82. End Sub
  83.  
  84.  
  85.  
  86. Sub Plugin_CheckData(ElementIndex)
  87. End Sub
  88.  
  89. Sub Plugin_Apply(ElementIndex,ElementSubIndex)
  90.  if ElementSubIndex>0 then
  91.  
  92.     'Look up Registry key
  93.     if aryLoc(ElementSubIndex)=1 then
  94.        sRegPath=sP
  95.     elseif aryLoc(ElementSubIndex)=2 then
  96.        sRegPath=sPD1
  97.     else
  98.        sRegPath=sPD2
  99.     end if
  100.      
  101.     'Look up Registry name
  102.     sRegName=GetUIElement(ElementSubIndex)
  103.     bIsEnabled=true
  104.     If InStr(sRegName,sDisabled)>0 then
  105.        sRegName=Left(sRegName,len(sRegName)-len(sDisabled))
  106.        bIsEnabled=false
  107.     end if
  108.  
  109.     'Look up Value
  110.     sValue=RegReadValue(sRegPath & sRegName)
  111.  
  112.     'msginformation sRegPath
  113.     'msginformation sRegName & "]"
  114.     'msginformation sValue 
  115.  
  116.  
  117.     if ElementIndex=1 then '//Information
  118.        Call MsgInformation("Command: " & vbCrlF & vbCrlf & sValue)
  119.     end if
  120.  
  121.     If ElementIndex=2 then '//Enable/Disable
  122.        if bIsEnabled=true then
  123.           '//Disable it 
  124.           Call RegWriteValue(sPD1 & sRegName,sValue,1)
  125.           Call RegDeleteValue(sRegPath & sRegName)
  126.        else
  127.          '//Enable it  
  128.           Call RegWriteValue(sP & sRegName,sValue,1)
  129.           Call RegDeleteValue(sRegPath & sRegName)
  130.        end if 
  131.  
  132.        Call ReloadAll
  133.     end if
  134.  
  135.  
  136.     If ElementIndex=3 then 'Delete
  137.        If bIsEnabled=true then
  138.           Call MsgError("Unable to delete an enabled item - please disable it first before trying to delete it")
  139.        else 
  140.           Call RegDeleteValue(sRegPath & sRegName)
  141.           Call ReloadAll
  142.           Call Restart
  143.        end if
  144.     end if
  145.  
  146.  end if
  147. End Sub
  148.  
  149. Sub Plugin_Terminate 
  150. End Sub
  151.  
  152.  
  153.  
  154.